package com.wzcl.app.service;

import com.alipay.api.AlipayApiException;
import com.wzcl.app.dao.model.Orders;
import com.wzcl.app.model.common.RVO;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;

/**
 * @author beingven
 * @Description 支付宝支付
 * @createTime 2020年11月17日 11:53:00
 */
public interface AlipayService {
    /**
     * 发起支付宝PC支付（网页支付）
     * @param orders 包含订单信息的对象
     */
    RVO createAliPcPay(Orders orders) throws AlipayApiException;

    /**
     * 支付宝退款
     * @param orderNumber 订单号
     * @return 返回退款状态 200成功 500失败
     */
    Integer createRefund(String orderNumber);

    /**
     * pc支付异步回调
     * @param request 携带支付与订单信息的异步请求
     * @return 返回响应字符串
     */
    String getPcNotify(HttpServletRequest request) throws Exception;
}
